/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package manager.modulo.funcionario.enumerator;

import java.util.LinkedList;

/**
 *
 * @author THIAGO
 */
public class EnumEstadoCivil {

    public enum EstadoCivil {
        SOLTEIRO,
        CASADO,
        VIUVO,
        DIVORCIADO,
        NAOENCONTRADO
    }

    public static EstadoCivil ConverterNumeroEnum(int numero) {
        switch (numero) {
            case 1:
                return EstadoCivil.SOLTEIRO;
            case 2:
                return EstadoCivil.CASADO;
            case 3:
                return EstadoCivil.VIUVO;
            case 4:
                return EstadoCivil.DIVORCIADO;
            default:
                return EstadoCivil.NAOENCONTRADO;
        }
    }

    public static int ConverterEnumNumero(EstadoCivil EstadoCivil) {
        switch (EstadoCivil) {
            case SOLTEIRO:
                return 1;
            case CASADO:
                return 2;
            case VIUVO:
                return 3;
            case DIVORCIADO:
                return 4;
            default:
                return 0;
        }
    }

    public static String ConvertEnumString(EstadoCivil EstadoCivil) {
        switch (EstadoCivil) {
            case SOLTEIRO:
                return "SOLTEIRO";
            case CASADO:
                return "CASADO";
            case VIUVO:
                return "VIÚVO";
            case DIVORCIADO:
                return "DIVORCIADO";
            default:
                return "NÃO ENCONTRADO";
        }
    }

    public static EstadoCivil ConvertStringEnum(String situacao) {
        if (situacao.equalsIgnoreCase(EnumEstadoCivil.ConvertEnumString(EstadoCivil.SOLTEIRO))) {
            return EstadoCivil.SOLTEIRO;
        } else if (situacao.equalsIgnoreCase(EnumEstadoCivil.ConvertEnumString(EstadoCivil.CASADO))) {
            return EstadoCivil.CASADO;
        } else if (situacao.equalsIgnoreCase(EnumEstadoCivil.ConvertEnumString(EstadoCivil.VIUVO))) {
            return EstadoCivil.VIUVO;
        } else if (situacao.equalsIgnoreCase(EnumEstadoCivil.ConvertEnumString(EstadoCivil.DIVORCIADO))) {
            return EstadoCivil.DIVORCIADO;
        } else {
            return EstadoCivil.NAOENCONTRADO;
        }
    }

    public static LinkedList<EstadoCivil> ListaEstadoCivil() {
        LinkedList<EstadoCivil> listaSituacao = new LinkedList<EstadoCivil>();
        listaSituacao.add(EstadoCivil.SOLTEIRO);
        listaSituacao.add(EstadoCivil.CASADO);
        listaSituacao.add(EstadoCivil.CASADO);
        listaSituacao.add(EstadoCivil.DIVORCIADO);
        return listaSituacao;
    }
}
